<?php
/**
 * @name Classe EventoRN
 *
 * @author   ()
 *
 *
 */
class EventoRN 
{

	/**
	 * Declara a AD Referente
	 *
	 * @var EventoAD
	 */
	private $EventoAD;

	function __construct()
	{
		$this->EventoAD = new EventoAD();
	}

	/**
	 * @method Pesquisar
	 *
	 * @param object $Evento
	 * @param string $ordenacao
	 * @param integer $limite
	 * @param integer $pagina
	 * @param string $complemento
	 *
	 * @return  array
	 */
	public function Pesquisar($Evento = NULL, $ordenacao = NULL, $limite = NULL, $pagina = 1,$complemento = null)
	{
		$Idioma = RetornarIdioma();

		$Evento->Ativo													 = ATIVO;

		$colecaoEvento = $this->EventoAD->Pesquisar($Evento, $ordenacao, $limite, $pagina, $complemento);

		return $colecaoEvento;
	}

	/**
	 * @method Obter
	 *
	 * @param object $Evento
	 * @param boolean $tipoPesquisa
	 * @param string $ordenacao
	 * @param string $complemento
	 *
	 * @return  object
	 */
	public function Obter($Evento, $ordenacao = NULL, $complemento = NULL)
	{
		$Idioma = RetornarIdioma();

		$Evento->Ativo													 = ATIVO;

		$retornoEvento = $this->EventoAD->Obter($Evento, $ordenacao, $complemento);

		/**
		 * eventopontovenda
		 */
		if($Evento->Colecaoeventopontovenda->Pesquisar === TRUE)
		{
			$eventopontovendaRN												 = new eventopontovendaRN();
			$eventopontovenda												 = new stdClass();
			$eventopontovenda->EventoID										 = $retornoEvento->EventoID;
			$retornoEvento->Colecaoeventopontovenda							 = $eventopontovendaRN->Pesquisar($eventopontovenda);
		}


		return $retornoEvento;
	}

	/**
	 * @method Existir
	 *
	 * @param object $Evento
	 * @param boolean $ordenacao
	 * @param boolean $complemento
	 *
	 * @return  boolean
	 */
	public function Existir($Evento, $ordenacao = NULL, $complemento = NULL)
	{
		$Idioma = RetornarIdioma();

		$Evento->Ativo													 = ATIVO;

		$retorno = $this->EventoAD->Existir($Evento, $ordenacao, $complemento);

		return $retorno;
	}

	/**
	 * @method Excluir
	 *
	 * @param object $Evento
	 *
	 * @return  boolean
	 */
	public function Excluir($Evento)
	{
		/**
		 * eventopontovenda
		 */
		$eventopontovendaRN = new eventopontovendaRN();
		$eventopontovenda->EventoID = $Evento->EventoID;

		$eventopontovendaRN->Excluir($eventopontovenda);

		$retorno = $this->EventoAD->Excluir($Evento);

		return $retorno;
	}

	/**
	 * @method ContarRegistros
	 *
	 * @param object $Evento
	 * @param string $ordenacao
	 * @param object $complemento
	 *
	 * @return  integer
	 */
	public function ContarRegistros($Evento, $ordenacao = NULL, $complemento = NULL)
	{
		$Idioma = RetornarIdioma();

		$Evento->Ativo													 = ATIVO;

		$retorno = $this->EventoAD->ContarRegistros($Evento, $ordenacao, $complemento);

		return $retorno;
	}

	/**
	 * @method Salvar
	 *
	 * @param object $Evento
	 *
	 * @return  object
	 */
	public function Salvar($Evento)
	{
		$retornoEvento = $this->EventoAD->Salvar($Evento);

		/**
		 * eventopontovenda
		 */
		if(count($Evento->Colecaoeventopontovenda) > 0)
		{
			$eventopontovendaRN = new eventopontovendaRN();
			foreach ($Evento->Colecaoeventopontovenda as $eventopontovenda)
			{
				$eventopontovenda = new stdClass();
				$eventopontovenda->EventoID = $retornoEvento->EventoID;
				$eventopontovenda = $eventopontovendaRN->Salvar($eventopontovenda);

				$retornoEvento->Colecaoeventopontovenda[] = $eventopontovenda;
			}
		}

		return $retornoEvento;
	}
}
?>